/************************************************************************

								Heroes IV
					  Copyright 2002, The 3DO Company

	------------------------------------------------------------------
  					 combat_non_blocking_message_displayer.h

	$Header:  $

	$NoKeywords: $

 ************************************************************************/

#if !defined( COMBAT_NON_BLOCKING_MESSAGE_DISPLAYER_H_INCLUDED )
#define COMBAT_NON_BLOCKING_MESSAGE_DISPLAYER_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif

#include "combat_action_message_displayer.h"
#include "idle_processor.h"


// ----------------------------------------------------------------------
// A t_combat_action_message_displayer which displays action messages
// but does not block the player from taking other actions. 
// ----------------------------------------------------------------------
class t_combat_non_blocking_message_displayer : private t_combat_action_message_displayer,
												private t_idle_processor
{
	public:
		t_combat_non_blocking_message_displayer( t_battlefield & battlefield );

		void		display_action_message( t_combat_action_message const & message, t_uint32 display_time );
		void		erase_action_message();

	private:
		virtual void on_idle();

		bool		 m_active;
};

#endif // COMBAT_NON_BLOCKING_MESSAGE_DISPLAYER_H_INCLUDED
